<?php
/*
 * 此文件用于验证隐私号服务API接口，供开发时参考
 * 执行验证前请确保文件为utf-8编码，并替换相应参数为您自己的信息，并取消相关调用的注释
 * 建议验证前先执行Test.php验证PHP环境
 *
 * 2017/11/30
 */

namespace Aliyun\DySDKLite\Pls\Demo;

//require_once ROOT_D ."/addons/jy_alisms/aliyun-dypls-php-sdk-lite/SignatureHelper.php";

use Aliyun\DySDKLite\SignatureHelper;


// todo 接口定义，请先替换相应参数为您自己的信息

/**
 * AXB绑定
 */
function bindAxb($accessKeyId,$accessKeySecret,$params) {

   // $params = array ();

    // *** 需用户填写部分 ***

    // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
    //$accessKeyId = "your access key id";
   // $accessKeySecret = "your access key secret";

    // fixme 必填: 号池Key
    //$params["PoolKey"] = "FC123456";

    // fixme 必填: AXB关系中的A号码
    //$params["PhoneNoA"] = "15010101010";

    // fixme 必填: AXB关系中的B号码
    //$params["PhoneNoB"] = "15020202020";

    // fixme 可选: 指定X号码进行绑定
   // $params["PhoneNoX"] = "1700000000";

    // fixme 可选: 期望分配X号码归属的地市(省去地市后缀后的城市名称)
    //$params["ExpectCity"] = "北京";

    // fixme 必填: 绑定关系对应的失效时间-不能早于当前系统时间
   // $params["Expiration"] = "2017-09-08 17:00:00";

    // fixme 可选: 是否需要录制音频-默认是"false"
    $params["IsRecordingEnabled"] = "false";

    // fixme 可选: 外部业务自定义ID属性
   // $params["OutId"] = "yourOutId";

    // *** 需用户填写部分结束, 以下代码若无必要无需更改 ***

    // 初始化SignatureHelper实例用于设置参数，签名以及发送请求
    $helper = new SignatureHelper();

    // 此处可能会抛出异常，注意catch
    $content = $helper->request(
        $accessKeyId,
        $accessKeySecret,
        "dyplsapi.aliyuncs.com",
        array_merge($params, array(
            "RegionId" => "cn-hangzhou",
            "Action" => "BindAxb",
            "Version" => "2017-05-25",
        ))
        // fixme 选填: 启用https
        // ,true
    );

    return $content;
}
/**
 * 查询绑定关系详情
 */
function querySubscriptionDetail($accessKeyId,$accessKeySecret,$params) {

    //$params = array ();

    // *** 需用户填写部分 ***

    // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
    //$accessKeyId = "your access key id";
   // $accessKeySecret = "your access key secret";

    // fixme 必填: 号池Key
   // $params["PoolKey"] = "FC123456";

    // fixme 必填: 产品类型,目前一共支持三款产品AXB_170,AXN_170,AXN_95
    //$params["ProductType"] = "AXB_170";

    // fixme 必填: 绑定关系ID
   // $params["SubsId"] = "123456";

    // fixme 必填: 绑定关系对应的X号码
    //$params["PhoneNoX"] = "170000000";

    // *** 需用户填写部分结束, 以下代码若无必要无需更改 ***

    // 初始化SignatureHelper实例用于设置参数，签名以及发送请求
    $helper = new SignatureHelper();

    // 此处可能会抛出异常，注意catch
    $content = $helper->request(
        $accessKeyId,
        $accessKeySecret,
        "dyplsapi.aliyuncs.com",
        array_merge($params, array(
            "RegionId" => "cn-hangzhou",
            "Action" => "QuerySubscriptionDetail",
            "Version" => "2017-05-25",
        ))
        // fixme 选填: 启用https
        // ,true
    );

    return $content;
}

/**
 * 解除绑定关系
 */
function unbindSubscription($accessKeyId,$accessKeySecret,$params) {

    //$params = array ();

    // *** 需用户填写部分 ***

    // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
  //  $accessKeyId = "your access key id";
   // $accessKeySecret = "your access key secret";

    // fixme 必填: 号池Key
    //$params["PoolKey"] = "FC123456";

    // fixme 必填: 您所选择的产品类型,目前支持AXB_170、AXN_170、AXN_95三种产品类型
    //$params["ProductType"] = "AXB_170";

    // fixme 必填: 分配的X小号-对应到绑定接口中返回的secretNo(三元绑定关系对应的绑定ID)
   // $params["SecretNo"] = "170980123456";

    // fixme 必填: 绑定关系对应的ID-对应到绑定接口中返回的subsId(调用绑定接口时分配的隐私号码)
    //$params["SubsId"] = "12345";

    // *** 需用户填写部分结束, 以下代码若无必要无需更改 ***

    // 初始化SignatureHelper实例用于设置参数，签名以及发送请求
    $helper = new SignatureHelper();

    // 此处可能会抛出异常，注意catch
    $content = $helper->request(
        $accessKeyId,
        $accessKeySecret,
        "dyplsapi.aliyuncs.com",
        array_merge($params, array(
            "RegionId" => "cn-hangzhou",
            "Action" => "UnbindSubscription",
            "Version" => "2017-05-25",
        ))
        // fixme 选填: 启用https
        // ,true
    );

    return $content;
}
/**
 * 更新绑定关系
 */
function updateSubscription($accessKeyId,$accessKeySecret,$params) {

  //  $params = array ();

    // *** 需用户填写部分 ***

    // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
   // $accessKeyId = "your access key id";
    //$accessKeySecret = "your access key secret";

    // fixme 必填: 号池Key
   // $params["PoolKey"] = "FC123456";

    // fixme 必填: 您所选择的产品类型,目前支持AXB_170、AXN_170、AXN_95三种产品类型
   // $params["ProductType"] = "AXB_170";

    // fixme 必填: 创建绑定关系API接口所返回的订购关系ID
    //$params["SubsId"] = "123456";

    // fixme 必填: 创建绑定关系API接口所返回的X号码
  //  $params["PhoneNoX"] = "170000000";



    // todo 以下操作三选一, 目前支持三种类型: updateNoA(修改A号码)、updateNoB(修改B号码)、updateExpire(更新绑定关系有效期)

    // -------------------------------------------------------------------

    // 1. 修改A号码示例：
    // fixme 必填: 操作类型
   // $params["OperateType"] = "updateNoA";

    // fixme OperateType为updateNoA时必选: 需要修改的A号码
   // $params["PhoneNoA"] = "150000000";

    // -------------------------------------------------------------------

    // 2. 修改B号码示例：
    // fixme 必填: 操作类型
  //  $params["OperateType"] = "updateNoB";

    // fixme OperateType为updateNoB时必选: 需要修改的B号码
   // $params["PhoneNoB"] = "150000000";

    // -------------------------------------------------------------------

    // 3. 更新绑定关系有效期示例：
    // fixme 必填: 操作类型
  //  $params["OperateType"] = "updateExpire";

    // fixme OperateType为updateExpire时必选: 需要修改的绑定关系有效期
    //$params["Expiration"] = "2017-09-05 12:00:00";

    // -------------------------------------------------------------------


    //若修改B号码，请调用：$params["OperateType"] = "updateNoB"; $params["PhoneNoA"] = ".....";

    // *** 需用户填写部分结束, 以下代码若无必要无需更改 ***

    // 初始化SignatureHelper实例用于设置参数，签名以及发送请求
    $helper = new SignatureHelper();

    // 此处可能会抛出异常，注意catch
    $content = $helper->request(
        $accessKeyId,
        $accessKeySecret,
        "dyplsapi.aliyuncs.com",
        array_merge($params, array(
            "RegionId" => "cn-hangzhou",
            "Action" => "UpdateSubscription",
            "Version" => "2017-05-25",
        ))
        // fixme 选填: 启用https
        // ,true
    );

    return $content;
}
